package com.java.string;

public class StringBufferAPI {
    public static void main(String[] args) {
        StringBuffer stringBuffer = new StringBuffer("012");
        
        // toString：将StringBuffer转为String
        System.out.println(stringBuffer); // 012
        System.out.println(stringBuffer.toString()); // 012
        
        // append：添加数据到StringBuffer尾部
        stringBuffer.append(3);
        stringBuffer.append('4');
        stringBuffer.append(true);
        System.out.println(stringBuffer); // 01234true
        
        // insert：添加数据到StringBuffer指定索引
        stringBuffer.insert(5, 5);
        stringBuffer.insert(6, '6');
        System.out.println(stringBuffer); // 0123456true
        
        // deleteCharAt：删除StringBuffer中指定索引字符
        stringBuffer.deleteCharAt(6);
        System.out.println(stringBuffer); // 012345true
        
        // delete：删除StringBuffer中指定索引范围字符串
        stringBuffer.delete(6, 20);
        System.out.println(stringBuffer); // 012345
        
        // reverse：反转StringBuffer内的数据
        stringBuffer.reverse();
        System.out.println(stringBuffer); // 543210
        
        // length：获取StringBuffer内的数据长度
        System.out.println(stringBuffer.length()); // 6
        
        // capacity：获取StringBuffer内的缓冲区容量，默认为16。构造函数指定容量时则为指定容量，构造函数指定字符串时则为16+字符串长度
        System.out.println(stringBuffer.capacity()); // 19
        
        // StringBuffer与String存在许多重合API，此处不过多讲解
    }
}
